/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gui;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import logic.Encuentro;
import logic.Jugador;
import logic.LectorArchivo;
import logic.Liga;
import logic.grafos.Grafo;
import logic.grafos.GrafoEventosBalon;
import logic.grafos.GrafoFaltas;

/**
 *
 * @author Mary
 */
public class VentanaEquipos extends javax.swing.JFrame implements ActionListener {

    private PanelSeleccionJugadores PanelJugadoresA,PanelJugadoresB ;
    private boolean banderaInicio;
    private FondoPanel fondo;
    private PanelCronometro cronometro;
    private PanelCancha cancha;
    private Encuentro encuentro;
    private GrafoEventosBalon grafoBalon;
    private GrafoFaltas grafoFaltas;
    private String objetosCancha[]= {"Puerta Local","Puerta Visitante","Banda","Meta Local","Meta Vis"};
    private String elQueTieneBalon="",elQueDaLaYuca="";
    private int banderaFalta=0,contBanderaF=0,auxFalta=-1,contParadas=0;
    private int flag_delEncuentro;
    private JPanelPosicion cambiosL,cambiosV;
    private JButton[] botonEstadisticas = new JButton[6];
    private JPanel PanelEstadisticas,p;
    private JLabel labelEstadistica;
    private Estadistica PanelEstadisticaDefinitivaA, PanelEstadisticaDefinitivaB;
    private JFrameSeleccionarLiga menuLigas;
    private PanelJugador_[] supLocales, supVisitantes;
            
    /**
     * Crea un nuevo VentanaEquipos
     * Primer Constructor
     */
    public VentanaEquipos(Encuentro encuentro, JFrameSeleccionarLiga menuLigas) {
        
        this.setContentPane(new FondoPanel("/images/grama2.jpg"));
        this.encuentro = encuentro;
        this.banderaInicio = false;
        this.menuLigas = menuLigas;
        
        contParadas=0;
        initComponents();
       
        //El cronometro
        cronometro = new PanelCronometro();
        
        
        cambiosL=new JPanelPosicion(this);
        cambiosV=new JPanelPosicion(this);        
        cambiosL.setBounds(200, 380, 50, 312);
        cambiosV.setBounds(725, 380, 50, 312);
        
        
        grafoBalon=new GrafoEventosBalon(encuentro.getEquipo(0).getJugadores(),encuentro.getEquipo(1).getJugadores(),objetosCancha); 
        grafoFaltas=new GrafoFaltas(encuentro.getEquipo(0).getJugadores(),encuentro.getEquipo(1).getJugadores()); 
        
        this.botonAmarilla.addActionListener(this);
        this.botonAmarilla.setActionCommand("Falta 1");
        this.botonRoja.addActionListener(this);
        this.botonRoja.setActionCommand("Falta 2");
        this.botonFalta.addActionListener(this);
        this.botonFalta.setActionCommand("Falta 0");
       
        this.BotonVolver.setVisible(false);
        
        cancha = new PanelCancha(this);
        cancha.setBounds(240, 100, 488, 312);
        
        PanelJugadoresA = new PanelSeleccionJugadores(encuentro.getEquipo(0), cancha, this,cambiosL,cambiosV);
        PanelJugadoresB = new PanelSeleccionJugadores(encuentro.getEquipo(1), cancha, this,cambiosL,cambiosV);
            
 
        PanelJugadoresA.setBounds(10,30,180,570);
        PanelJugadoresB.setBounds(775,30,180,570);
        
        add(cronometro);
        add(PanelJugadoresA);
        add(PanelJugadoresB);
        add(cancha);
        add(cambiosL);
        add(cambiosV);
            
     
        cronometro.setBounds(345,40,306,38);
               
        cronometro.setVisible(true);
        PanelJugadoresA.setVisible(true);
        PanelJugadoresB.setVisible(true);
        cancha.setVisible(true);   
        jButtonContinuar.setVisible(false);
        
        cronometro.getLabelNombreLocal().setText(PanelJugadoresA.getjLabelNombreEquipo().getText().substring(0, 3).toUpperCase());
        cronometro.getLabelNombreVisitante().setText(PanelJugadoresB.getjLabelNombreEquipo().getText().substring(0, 3).toUpperCase());
    }

    /**
     * Retorna la bandera del encuentro
     * Si esta apagada se llama a este frame con el primer constructor
     * Si esta activa se llama a este frame con el segundo constructor
     */
    public int getFlag_delEncuentro() {
        return flag_delEncuentro;
    }
    /**
     * Segundo Constructor
     */
    public VentanaEquipos(Encuentro encuentro, JFrameSeleccionarLiga menuLigas, boolean flag){
        int i;
        this.setContentPane(new FondoPanel("/images/grama2.jpg"));
        this.encuentro = encuentro;
        this.banderaInicio = false;
        this.menuLigas = menuLigas;
        
        initComponents();
        
        cancha = new PanelCancha(this);
        cancha.setBounds(240, 100, 488, 312);
        
        PanelJugadoresA = new PanelSeleccionJugadores(encuentro.getEquipo(0), cancha, this);
        PanelJugadoresB = new PanelSeleccionJugadores(encuentro.getEquipo(1), cancha, this);
          
        PanelJugadoresA.setBounds(10,30,180,570);
        PanelJugadoresB.setBounds(775,30,180,570);
        
        cambiosL=new JPanelPosicion(this);
        cambiosV=new JPanelPosicion(this);        
        cambiosL.setBounds(200, 380, 50, 312);
        cambiosV.setBounds(725, 380, 50, 312);
        
        add(cancha);
        add(PanelJugadoresA);
        add(PanelJugadoresB);
        add(cambiosL);
        add(cambiosV);
        System.out.println("hola");
        for(i=0;i<encuentro.getEquipos()[0].getNroCambios(); i++){
            cambiosL.agregarJugador(encuentro.getEquipos()[0].getCambios()[i]);
            
        }
        for(i=0;i<encuentro.getEquipos()[1].getNroCambios() ; i++){
            cambiosV.agregarJugador(encuentro.getEquipos()[1].getCambios()[i]);
        }
        
        
//        grafoBalon=new GrafoEventosBalon(encuentro.getEquipo(0).getJugadores(),encuentro.getEquipo(1).getJugadores(),objetosCancha); 
//        grafoFaltas=new GrafoFaltas(encuentro.getEquipo(0).getJugadores(),encuentro.getEquipo(1).getJugadores()); 
        grafoBalon = encuentro.getGrafoBalonCompleto();
        grafoFaltas=encuentro.getGrafoFaltasCompleto();
        
        this.grafoBalon.recorrerGrafo();
        this.grafoFaltas.recorrerGrafo();
        encuentro.setGrafoBalonCompleto(grafoBalon);
        encuentro.setGrafoFaltasCompleto(grafoFaltas);
        MostrarEstadisticas();
        add(PanelEstadisticas);
        
        
        PanelJugadoresA.setVisible(true);
        PanelJugadoresB.setVisible(true);
        cancha.setVisible(true);   
        BotonVolver.setVisible(true);
        cambiosL.setVisible(true);
        cambiosV.setVisible(true);
        jButtonContinuar.setVisible(false);
        jButtonIniciar.setVisible(false);
        jButtonParar.setVisible(false);
        PanelFaltas.setVisible(false);
        PanelEstadisticas.setVisible(true);
        
        PanelJugadoresA.getjListEquipo().setEnabled(false);
        PanelJugadoresB.getjListEquipo().setEnabled(false);
       
    }
    
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        PanelFaltas = new javax.swing.JPanel();
        jLabelFalta = new javax.swing.JLabel();
        botonFalta = new javax.swing.JButton();
        botonAmarilla = new javax.swing.JButton();
        botonRoja = new javax.swing.JButton();
        jButtonContinuar = new javax.swing.JButton();
        jButtonIniciar = new javax.swing.JButton();
        jButtonParar = new javax.swing.JButton();
        BotonVolver = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMaximumSize(new java.awt.Dimension(973, 645));
        setMinimumSize(new java.awt.Dimension(973, 645));
        setPreferredSize(new java.awt.Dimension(973, 645));
        setResizable(false);

        PanelFaltas.setBackground(new Color(0,0,0,0));

        jLabelFalta.setBackground(new java.awt.Color(255, 255, 255));
        jLabelFalta.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
        jLabelFalta.setForeground(new java.awt.Color(0, 0, 102));
        jLabelFalta.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabelFalta.setText("Faltas");

        botonFalta.setText("Infraccion");
        botonFalta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonFaltaActionPerformed(evt);
            }
        });

        botonAmarilla.setText("Tarjeta Amarilla");

        botonRoja.setText("Tarjeta Roja");

        javax.swing.GroupLayout PanelFaltasLayout = new javax.swing.GroupLayout(PanelFaltas);
        PanelFaltas.setLayout(PanelFaltasLayout);
        PanelFaltasLayout.setHorizontalGroup(
            PanelFaltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelFaltasLayout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addGroup(PanelFaltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(botonRoja, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(botonAmarilla, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(botonFalta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(32, 32, 32))
            .addGroup(PanelFaltasLayout.createSequentialGroup()
                .addGap(52, 52, 52)
                .addComponent(jLabelFalta, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        PanelFaltasLayout.setVerticalGroup(
            PanelFaltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelFaltasLayout.createSequentialGroup()
                .addComponent(jLabelFalta)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(botonFalta)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(botonAmarilla)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(botonRoja))
        );

        jButtonContinuar.setBackground(new java.awt.Color(255, 255, 255));
        jButtonContinuar.setText("Continuar");
        jButtonContinuar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButtonContinuarMouseClicked(evt);
            }
        });

        jButtonIniciar.setBackground(new java.awt.Color(255, 255, 255));
        jButtonIniciar.setText("Iniciar");
        jButtonIniciar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonIniciarActionPerformed(evt);
            }
        });

        jButtonParar.setBackground(new java.awt.Color(255, 255, 255));
        jButtonParar.setText("Parar");
        jButtonParar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonPararActionPerformed(evt);
            }
        });

        BotonVolver.setText("Ir Ligas");
        BotonVolver.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                BotonVolverMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(393, 393, 393)
                        .addComponent(PanelFaltas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(443, 443, 443)
                        .addComponent(jButtonContinuar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(BotonVolver, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(647, 647, 647)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(397, 397, 397)
                        .addComponent(jButtonIniciar, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jButtonParar, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(376, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(63, 63, 63)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButtonContinuar)
                            .addComponent(BotonVolver))
                        .addGap(416, 416, 416)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButtonIniciar)
                            .addComponent(jButtonParar))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
                .addComponent(PanelFaltas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(39, 39, 39))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonIniciarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonIniciarActionPerformed
        cronometro.iniciarCronometro();
        this.setBanderaInicio(true);
        jButtonIniciar.setEnabled(false);
        PanelJugadoresA.getjListEquipo().clearSelection();
        PanelJugadoresB.getjListEquipo().clearSelection();
        PanelJugadoresA.getjListEquipo().setEnabled(false);
        PanelJugadoresB.getjListEquipo().setEnabled(false);
       
    }//GEN-LAST:event_jButtonIniciarActionPerformed

    private void jButtonPararActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonPararActionPerformed
        int peso;
        this.setBanderaInicio(false);
        contParadas++;
        
        PanelJugadoresA.getjListTitulares().setEnabled(false);
        PanelJugadoresB.getjListTitulares().setEnabled(false);
        PanelJugadoresA.getjListSuplentes().setEnabled(false);
        PanelJugadoresB.getjListSuplentes().setEnabled(false);
        
        peso=((cronometro.getCronometro().minutos()*60) + cronometro.getCronometro().segundos());
        
      if(elQueTieneBalon!=""){ 
        if(this.elQueTieneBalon.substring(0, 1).compareTo("0")==0 ||  this.elQueTieneBalon.substring(0, 1).compareTo("1")==0 ){
            this.grafoBalon.añadirArista(elQueTieneBalon, "Banda", peso);
            elQueTieneBalon="Banda";
        }
      }
            
     
      
        cancha.ocultarBalon();
        cronometro.pararCronometro();
       //this.grafoBalon.imprimirGrafo();
        this.grafoBalon.recorrerGrafo();
       //this.grafoBalon.imprimirArrays();
       //  this.grafoFaltas.imprimirPanel();
      
      //  this.grafoBalon.getPorcentajePorEquipo();
       this.grafoFaltas.recorrerGrafo();
       //this.grafoFaltas.imprimirArrays();
       
        if(  this.contParadas==1){
            this.jButtonContinuar.setVisible(true);
            encuentro.setGrafoBalonPrimer(grafoBalon);
            encuentro.setGrafoFaltasPrimer(grafoFaltas);
        }else{
            this.BotonVolver.setVisible(true);
            encuentro.setGrafoBalonCompleto(grafoBalon);
            encuentro.setGrafoFaltasCompleto(grafoFaltas);
        }
       
         MostrarEstadisticas();
    }//GEN-LAST:event_jButtonPararActionPerformed

    private void jButtonContinuarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButtonContinuarMouseClicked
       cronometro.continuarCronometro();  
       this.setBanderaInicio(true);
       jButtonParar.setBounds(445, 416, 59, 23);
       PanelFaltas.setVisible(true);
       jButtonParar.setVisible(true);
       jButtonContinuar.setVisible(false);
       p.setVisible(false);
       PanelEstadisticas.setVisible(false);
       PanelEstadisticaDefinitivaA.setVisible(false);
       PanelEstadisticaDefinitivaB.setVisible(false);  
       PanelJugadoresA.getjListTitulares().setEnabled(true);
       PanelJugadoresB.getjListTitulares().setEnabled(true);
       PanelJugadoresA.getjListSuplentes().setEnabled(true);
       PanelJugadoresB.getjListSuplentes().setEnabled(true);
    }//GEN-LAST:event_jButtonContinuarMouseClicked

    private void botonFaltaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonFaltaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_botonFaltaActionPerformed

    private void BotonVolverMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_BotonVolverMouseClicked
        int i,j;
        supLocales = new PanelJugador_[3];
        supVisitantes = new PanelJugador_[3];
        if (encuentro.isFlag()==false){
        // se guardan los titulares y suplentes que quedaron al final de; juego
        PanelJugadoresA.TitularesFinal();
        PanelJugadoresB.TitularesFinal();
        
        // se guardan los cambios en los arreglos auxiliares
        for(i=0; i<cambiosL.getNumJugadores(); i++){
            encuentro.getEquipos()[0].setCambios(cambiosL.getArrayJugadores_pos(i).getJugadorLogico(), i);
        }
        for(i=0; i<cambiosV.getNumJugadores(); i++){
            encuentro.getEquipos()[1].setCambios(cambiosV.getArrayJugadores_pos(i).getJugadorLogico(), i);
        }
        encuentro.getResultado()[0]=Integer.parseInt(cronometro.getLabelGolesLocal().getText());
        encuentro.getResultado()[1]=Integer.parseInt(cronometro.getLabelGolesVisitante().getText());
        menuLigas.getLigas()[menuLigas.getListaLigas().getSelectedIndex()-1].getTablaPosiciones().AnadirEncuentro(encuentro);
        
        
        // se muestra el frame de menu de ligas
        this.setVisible(false);
        this.menuLigas.setVisible(true);
        encuentro.setFlag(true);
        LectorArchivo l = new LectorArchivo();
        l.guardarEncuentro(encuentro.getLiga(),encuentro.getId()+"", encuentro);
        l.guardarTablaPosiciones(menuLigas.getLigas()[menuLigas.getListaLigas().getSelectedIndex()-1].getTablaPosiciones(), menuLigas.getLigas()[menuLigas.getListaLigas().getSelectedIndex()-1].getNombre());
        
        
                // De los jugadores Locales
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoLocal_pos(i).getNumJugadores();j++){
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).ocultarInfo();
                    }
                }
                // De los jugadores Visitante
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoVisitante_pos(i).getNumJugadores();j++){
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).ocultarInfo();
                    }
                }
        }else{
        this.setVisible(false);
        this.menuLigas.setVisible(true);
        }         
    }//GEN-LAST:event_BotonVolverMouseClicked
    /**
     * Empezo el partido o no
     * @return banderaInicio
     */
    public boolean isBanderaInicio() {
        return banderaInicio;
    }
    
    /**
     * Asignar true o false
     * @param banderaInicio 
     */
    public void setBanderaInicio(boolean banderaInicio) {
        this.banderaInicio = banderaInicio;
    }
    
    /*Busca un Jugador en el encuentro, recive el String que se guarda en los grafos*/
    
    public Jugador buscarJugador(String dato){
      
        if(dato.substring(0, 1).equals(""+0) ){
           return encuentro.getEquipo(0).getJugador(dato.substring(2,4));
        }else{
          
             return encuentro.getEquipo(1).getJugador(dato.substring(2,4));
        }
    }
    
    /**
     * Muestra las estadisticas del partido
     */
    public void MostrarEstadisticas(){
       // 0. Resultado del Partido y goles por jugador
       // 1. Tiros a puerta por jugador y por equipo
       // 2. Posesion de Balon por jugador y por equipo
       // 3. Faltas realizadas y recibidas
       // 4. Perdidas de Balon    
       // 5. Pases completados
       jButtonParar.setVisible(false);
       jButtonIniciar.setVisible(false);
     
       PanelFaltas.setVisible(false);
       PanelEstadisticas = new JPanel();
       this.add(PanelEstadisticas);
       PanelEstadisticas.setBounds(405, 444, 160, 162);
       PanelEstadisticas.setVisible(true);
       PanelEstadisticas.setLayout(null);
       PanelEstadisticas.setBackground(new Color(0,0,0,0));
       
       p = new JPanel();
       this.add(p);
       p.setBounds(240, 416, 488, 28);
       p.setBackground(new Color(0,0,51));
       p.setLayout(null);
       
       PanelEstadisticaDefinitivaA = new Estadistica();
       this.add(PanelEstadisticaDefinitivaA);
       PanelEstadisticaDefinitivaA.setBounds(240, 464, 150, 68);
       
       PanelEstadisticaDefinitivaB = new Estadistica();
       this.add(PanelEstadisticaDefinitivaB);
       PanelEstadisticaDefinitivaB.setBounds(578, 464, 150, 68);
       
       labelEstadistica = new JLabel();
       labelEstadistica.setText("Estadisticas");
       p.add(labelEstadistica);
       labelEstadistica.setBounds(0, 7, 488, 15);
       labelEstadistica.setHorizontalAlignment(SwingConstants.CENTER);
       labelEstadistica.setFont(new Font("Tahoma", 1, 18)); 
       labelEstadistica.setForeground(new Color(255, 255, 255));
       PanelEstadisticaDefinitivaA.setVisible(false);
       PanelEstadisticaDefinitivaB.setVisible(false);  
       
       for(int i=0, y=0; i < 6; i++, y+=27){
           botonEstadisticas[i] = new JButton();            // Se instancian los botones de estadisticas
           PanelEstadisticas.add(botonEstadisticas[i]);     // Se agregan los botones al frame
           botonEstadisticas[i].setBounds(0, y, 160, 27);
           botonEstadisticas[i].setVisible(true);
       }
       botonEstadisticas[0].setText("Goles / Autogoles");
       botonEstadisticas[1].setText("Tiros a Puerta");
       botonEstadisticas[2].setText("Posesion de Balon");
       botonEstadisticas[3].setText("Faltas/Amari/Roja");
       botonEstadisticas[4].setText("Perdidas de Balon");
       botonEstadisticas[5].setText("Pases Completados");
       AccionesBootonesEstadisticas();
   }
    
    /**
     * Evento de las Faltas
     */
    @Override
    public void actionPerformed(ActionEvent e) { //El que toque este metodo lo mato
      int peso,i,j;
     
      
   if(isBanderaInicio()){ //SI ya inicio el cronometro comieza a crear los grafos
       
       
       //Aqui ve si es un gol y lo agrega al label de goles
       if(e.getActionCommand().compareToIgnoreCase("Puerta Visitante")==0 && elQueTieneBalon.compareTo(e.getActionCommand())!=0){       
             this.cronometro.setGolesLocales();        
       }
       
        if(e.getActionCommand().compareToIgnoreCase("Puerta Local")==0 && elQueTieneBalon.compareTo(e.getActionCommand())!=0 ){
            this.cronometro.setGolesVisitanes();
       }
       
       
        
      if((e.getActionCommand().substring(0, 5)).equals("Falta")){  //Si el evento es una falta
                                   //Entoncs activa la bandera falta, inicializa todo
          this.banderaFalta=1;
          this.elQueDaLaYuca="";
          this.contBanderaF=0;
          this.auxFalta=Integer.parseInt(e.getActionCommand().substring(6, 7));
      }
      
      
      
            //Si no esta activa la bandera falta entonces hace los eventos de un pase
            if(banderaFalta==0){  
             //Si es un jugador el evento pregunta: 
          if( ((e.getActionCommand().substring(0, 1)).equals("0")) || ((e.getActionCommand().substring(0, 1)).equals("1")) ){
                  if(elQueTieneBalon.compareTo("")==0){ //Si es el primero en tener el balon
                      elQueTieneBalon=e.getActionCommand(); //Actualiza que es el que tiene el balon          
                      this.grafoBalon.setPrimero(e.getActionCommand()); //Lo coloca como el primero en agarrar el balon en el grafo
                      cancha.transferirBalon(buscarJugador(e.getActionCommand()));
                                       
                  }else{  //Si no es el primero entonces hace el pase entre jugadores:
                       
                       peso=((cronometro.getCronometro().minutos()*60) + cronometro.getCronometro().segundos());
                       
                          if(elQueTieneBalon.compareTo(e.getActionCommand()) !=0  ){ //Valida que el pase no sea entre el mismo
                              grafoBalon.añadirArista(elQueTieneBalon, e.getActionCommand(), peso);  
                          }
                          
                       cancha.transferirBalon(buscarJugador(e.getActionCommand()));
                       elQueTieneBalon=e.getActionCommand();
                    }
             
          }else{  //Si es un obejeto de la cancha lo guarda como un evento de la cancha
           peso=((cronometro.getCronometro().minutos()*60) + cronometro.getCronometro().segundos());
         
           if(elQueTieneBalon.compareTo("")==0){
               elQueTieneBalon="Banda";
           }
           
           if(elQueTieneBalon.compareTo(e.getActionCommand()) !=0  ){ //Valida que el pase no sea entre el mismo
               grafoBalon.añadirArista(elQueTieneBalon, e.getActionCommand(), peso);
           }
           
           cancha.ocultarBalon();
           elQueTieneBalon=e.getActionCommand();
          }  
  
            }else{ //Esta es lo que hace si la bandera de falta esta activa
         
            cancha.ocultarBalon(); 
       
          if(contBanderaF==1){ //Si ya esta agregado el que cometio la falta:
              
            //Agrega el evento en los nodos y inicializa todo en 0
              peso=((cronometro.getCronometro().minutos()*60) + cronometro.getCronometro().segundos()) ;
              
                    if(elQueDaLaYuca.compareTo( e.getActionCommand())!=0 && buscarJugador(elQueDaLaYuca).getEquipo()!=buscarJugador(e.getActionCommand()).getEquipo()){
                        this.grafoFaltas.añadirArista(elQueDaLaYuca, e.getActionCommand(), peso,auxFalta );
             
                  if(this.grafoFaltas.tieneRoja(elQueDaLaYuca)==1){  //Agrega el jugador a los cambios si es una roja.
                        cancha.borrarJugadorFranja(buscarJugador(elQueDaLaYuca));
                  
                        if(buscarJugador(elQueDaLaYuca).getEquipo()==0){
                            this.cambiosL.agregarJugador(buscarJugador(elQueDaLaYuca));
                            cambiosL.ocultarBotones();
                        }else{
                            this.cambiosV.agregarJugador(buscarJugador(elQueDaLaYuca));
                            cambiosV.ocultarBotones();
                        }                
                  }
                  
             }  //Quita la bandera de falta y inicia en 0 para que se pueda agregar otra
              this.banderaFalta=0;
              this.contBanderaF=0;
              this.elQueDaLaYuca="";
              cancha.ocultarBalon();
              this.auxFalta=-1;
           }else{//Si no esta agregado el que cometio la falta
         
               //Trata de agregarlo si es que no es un envento diferente
               if (!((e.getActionCommand().substring(0, 5)).equals("Falta")) &&  elQueDaLaYuca=="" ){               
                   elQueDaLaYuca=e.getActionCommand();
                   contBanderaF++;      
               }            
            } 
          
        }
        }
    }
    
    public void AccionesBootonesEstadisticas(){
        // Evento de mostrar Goles
        botonEstadisticas[0].addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                int i,j;
                labelEstadistica.setText("Goles / Autogoles");
                // De los jugadores Locales
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoLocal_pos(i).getNumJugadores();j++){
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getGoles_pos(grafoBalon.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0) + " / " + grafoBalon.getAutogoles_pos(grafoBalon.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0));
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                    }
                }
                PanelEstadisticaDefinitivaA.getLabelEstadistica().setText(grafoBalon.getGolesPorEquipo()[0]+"");
                // De los jugadores Visitante
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoVisitante_pos(i).getNumJugadores();j++){
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getGoles_pos(grafoBalon.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1)+ " / " + grafoBalon.getAutogoles_pos(grafoBalon.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1));
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                    }
                }
                PanelEstadisticaDefinitivaB.getLabelEstadistica().setText(grafoBalon.getGolesPorEquipo()[1]+"");
                
                // De los suplentes locales
                for (j=0; j<cambiosL.getNumJugadores();j++){
                     cambiosL.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getGoles_pos(grafoBalon.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0)+" / "+ grafoBalon.getAutogoles_pos(grafoBalon.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0));
                     cambiosL.getArrayJugadores_pos(j).RefrescarJugador();
                     cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                     cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                }
                
                // De los suplentes Visitantes
                for (j=0; j<cambiosV.getNumJugadores();j++){
                     cambiosV.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getGoles_pos(grafoBalon.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1)+" / "+ grafoBalon.getAutogoles_pos(grafoBalon.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1));
                     cambiosV.getArrayJugadores_pos(j).RefrescarJugador();
                     cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                     cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                }
                PanelEstadisticaDefinitivaA.setVisible(true);
                PanelEstadisticaDefinitivaB.setVisible(true);                    
                VentanaEquipos.this.setBounds(0, 0, 974, 646);
                VentanaEquipos.this.setBounds(0, 0, 973, 645);
            }
        });    
        
        // Evento de mostrar Tiros a Puerta
        botonEstadisticas[1].addActionListener(new ActionListener() {
            int i,j;
            @Override
            public void actionPerformed(ActionEvent ae) {
                labelEstadistica.setText("Tiros A Puerta");
                // De los jugadores Locales
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoLocal_pos(i).getNumJugadores();j++){
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getTirosAPuerta_pos(grafoBalon.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +"");
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                PanelEstadisticaDefinitivaA.getLabelEstadistica().setText(grafoBalon.getTirosAPuertaxEquipo()[0]+"");
                
                // De los jugadores Visitante
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoVisitante_pos(i).getNumJugadores();j++){
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getTirosAPuerta_pos(grafoBalon.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +"");
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                PanelEstadisticaDefinitivaB.getLabelEstadistica().setText(grafoBalon.getTirosAPuertaxEquipo()[1]+"");
                
                // De los suplentes locales
                for (j=0; j<cambiosL.getNumJugadores();j++){
                        cambiosL.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getTirosAPuerta_pos(grafoBalon.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +"");
                        cambiosL.getArrayJugadores_pos(j).RefrescarJugador();
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                
                // De los suplentes Visitantes
                for (j=0; j<cambiosV.getNumJugadores();j++){
                        cambiosV.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getTirosAPuerta_pos(grafoBalon.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +"");
                        cambiosV.getArrayJugadores_pos(j).RefrescarJugador();
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                PanelEstadisticaDefinitivaA.setVisible(true);
                PanelEstadisticaDefinitivaB.setVisible(true);                    
                VentanaEquipos.this.setBounds(0, 0, 974, 646);
                VentanaEquipos.this.setBounds(0, 0, 973, 645);
            }
        });
        
        // Evento de mostrar Posesion de Balon
        botonEstadisticas[2].addActionListener(new ActionListener() {
            int i,j;
            @Override
            public void actionPerformed(ActionEvent ae) {
                labelEstadistica.setText("Posesion del Balon");
                // De los jugadores Locales
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoLocal_pos(i).getNumJugadores();j++){
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPosesion_pos(grafoBalon.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +" %");
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                PanelEstadisticaDefinitivaA.getLabelEstadistica().setText(grafoBalon.getPorcentajePorEquipo()[0]+" %");
                // De los jugadores Visitante
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoVisitante_pos(i).getNumJugadores();j++){
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPosesion_pos(grafoBalon.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +" %");
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                PanelEstadisticaDefinitivaB.getLabelEstadistica().setText(grafoBalon.getPorcentajePorEquipo()[1]+" %");
                
                // De los suplentes locales
                for (j=0; j<cambiosL.getNumJugadores();j++){
                        cambiosL.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPosesion_pos(grafoBalon.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +" %");
                        cambiosL.getArrayJugadores_pos(j).RefrescarJugador();
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                    
                    // De los suplentes Visitantes
                    for (j=0; j<cambiosV.getNumJugadores();j++){
                        cambiosV.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPosesion_pos(grafoBalon.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +" %");
                        cambiosV.getArrayJugadores_pos(j).RefrescarJugador();
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                PanelEstadisticaDefinitivaA.setVisible(true);
                PanelEstadisticaDefinitivaB.setVisible(true);                    
                VentanaEquipos.this.setBounds(0, 0, 974, 646);
                VentanaEquipos.this.setBounds(0, 0, 973, 645);
            }
        });
        
        // Evento de mostrar Faltas
        botonEstadisticas[3].addActionListener(new ActionListener() {
            int i,j;
            @Override
            public void actionPerformed(ActionEvent ae) {
                labelEstadistica.setText("Falta/Amarilla/Roja ");
                // De los jugadores Locales
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoLocal_pos(i).getNumJugadores();j++){
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoFaltas.getFaltas_pos(grafoFaltas.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0) +"/"+ grafoFaltas.getAmarillas_pos(grafoFaltas.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0)  + "/" + grafoFaltas.getRojas_pos(grafoFaltas.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0));
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                PanelEstadisticaDefinitivaA.getLabelEstadistica().setText(grafoFaltas.getFaltasPorEquipo()[0]+"");
                // De los jugadores Visitante
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoVisitante_pos(i).getNumJugadores();j++){
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoFaltas.getFaltas_pos(grafoFaltas.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1) +"/"+ grafoFaltas.getAmarillas_pos(grafoFaltas.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1)  + "/" + grafoFaltas.getRojas_pos(grafoFaltas.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1));
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).RefrescarJugador();
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                PanelEstadisticaDefinitivaB.getLabelEstadistica().setText(grafoFaltas.getFaltasPorEquipo()[1]+"");
                
                // De los suplentes locales
                for (j=0; j<cambiosL.getNumJugadores();j++){
                        cambiosL.getArrayJugadores_pos(j).setEstadistica(grafoFaltas.getFaltas_pos(grafoFaltas.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0) +"/"+ grafoFaltas.getAmarillas_pos(grafoFaltas.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0)  + "/" + grafoFaltas.getRojas_pos(grafoFaltas.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"),0));
                        cambiosL.getArrayJugadores_pos(j).RefrescarJugador();
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                    
                    // De los suplentes Visitantes
                    for (j=0; j<cambiosV.getNumJugadores();j++){
                        cambiosV.getArrayJugadores_pos(j).setEstadistica(grafoFaltas.getFaltas_pos(grafoFaltas.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1) +"/"+ grafoFaltas.getAmarillas_pos(grafoFaltas.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1)  + "/" + grafoFaltas.getRojas_pos(grafoFaltas.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"),1));
                        cambiosV.getArrayJugadores_pos(j).RefrescarJugador();
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                PanelEstadisticaDefinitivaA.setVisible(true);
                PanelEstadisticaDefinitivaB.setVisible(true);                    
                VentanaEquipos.this.setBounds(0, 0, 974, 646);
                VentanaEquipos.this.setBounds(0, 0, 973, 645);
            }
        });
        
        // Evento de mostrar Perdidas de Balon
        botonEstadisticas[4].addActionListener(new ActionListener() {
            int i,j;
            @Override
            public void actionPerformed(ActionEvent ae) {
                labelEstadistica.setText("Perdidas de Balon");
                // De los jugadores Locales
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoLocal_pos(i).getNumJugadores();j++){
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPerdidaBalon_pos(grafoBalon.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +"");
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                // De los jugadores Visitante
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoVisitante_pos(i).getNumJugadores();j++){
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPerdidaBalon_pos(grafoBalon.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +"");
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                PanelEstadisticaDefinitivaA.setVisible(false);
                PanelEstadisticaDefinitivaB.setVisible(false);
                // De los suplentes locales
                for (j=0; j<cambiosL.getNumJugadores();j++){
                        cambiosL.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPerdidaBalon_pos(grafoBalon.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +"");
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                // De los suplentes Visitantes
                    for (j=0; j<cambiosV.getNumJugadores();j++){
                        cambiosV.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPerdidaBalon_pos(grafoBalon.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +"");
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
            VentanaEquipos.this.setBounds(0, 0, 974, 646);
            VentanaEquipos.this.setBounds(0, 0, 973, 645);
            }
        });
        
        // Evento de mostrar Pases Completados
        botonEstadisticas[5].addActionListener(new ActionListener() {
            int i,j;
            @Override
            public void actionPerformed(ActionEvent ae) {
                labelEstadistica.setText("Pases Completados");
                // De los jugadores Locales
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoLocal_pos(i).getNumJugadores();j++){
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPasesRealizados_pos(grafoBalon.getJugador(cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +"");
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoLocal_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                // De los jugadores Visitante
                for (i=0; i< 4; i++){
                    for (j=0; j<cancha.getEquipoVisitante_pos(i).getNumJugadores();j++){
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPasesRealizados_pos(grafoBalon.getJugador(cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +"");
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cancha.getEquipoVisitante_pos(i).getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                }
                
                PanelEstadisticaDefinitivaA.setVisible(false);
                PanelEstadisticaDefinitivaB.setVisible(false);
                // De los suplentes locales
                for (j=0; j<cambiosL.getNumJugadores();j++){
                        cambiosL.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPasesRealizados_pos(grafoBalon.getJugador(cambiosL.getArrayJugadores_pos(j).getLabelNumero().getText(), "0"), 0) +"");
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosL.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
                // De los suplentes Visitantes    
                    for (j=0; j<cambiosV.getNumJugadores();j++){
                        cambiosV.getArrayJugadores_pos(j).setEstadistica(grafoBalon.getPasesRealizados_pos(grafoBalon.getJugador(cambiosV.getArrayJugadores_pos(j).getLabelNumero().getText(), "1"), 1) +"");
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(false);
                        cambiosV.getArrayJugadores_pos(j).getLabelInformcion().setVisible(true);
                    }
            VentanaEquipos.this.setBounds(0, 0, 974, 646);
            VentanaEquipos.this.setBounds(0, 0, 973, 645);
            }
        });
    }
        
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton BotonVolver;
    private javax.swing.JPanel PanelFaltas;
    private javax.swing.JButton botonAmarilla;
    private javax.swing.JButton botonFalta;
    private javax.swing.JButton botonRoja;
    private javax.swing.JButton jButtonContinuar;
    private javax.swing.JButton jButtonIniciar;
    private javax.swing.JButton jButtonParar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabelFalta;
    // End of variables declaration//GEN-END:variables


}
